package org.csu.mypetstore.domain;

import java.math.BigDecimal;

public class LineItem {
      private int orderId;
      private int lineNumber;
      private int quantity;
      private String itemId;
      private BigDecimal unitPrice;
      private Item item;
      private BigDecimal total;

      public LineItem() {
      }

      public LineItem(int lineNumber, CartItem cartItem) {
            this.lineNumber = lineNumber;
            this.quantity = cartItem.getQuantity();
            this.itemId = cartItem.getItem().getItemId();
            this.unitPrice = cartItem.getItem().getListPrice();
            this.item = cartItem.getItem();
      }

      public int getOrderId() {
            return orderId;
      }

      public void setOrderId(int orderId) {
            this.orderId = orderId;
      }

      public int getLineNumber() {
            return lineNumber;
      }

      public void setLineNumber(int lineNumber) {
            this.lineNumber = lineNumber;
      }

      public String getItemId() {
            return itemId;
      }

      public void setItemId(String itemId) {
            this.itemId = itemId;
      }

      public BigDecimal getUnitPrice() {
            return unitPrice;
      }

      public void setUnitPrice(BigDecimal unitprice) {
            this.unitPrice = unitprice;
      }

      public BigDecimal getTotal() {
            return total;
      }

      public Item getItem() {
            return item;
      }

      public void setItem(Item item) {
            this.item = item;
            calculateTotal();
      }

      public int getQuantity() {
            return quantity;
      }

      public void setQuantity(int quantity) {
            this.quantity = quantity;
            calculateTotal();
      }

      private void calculateTotal() {
            if (item != null && item.getListPrice() != null) {
                  total = item.getListPrice().multiply(new BigDecimal(quantity));
            } else {
                  total = null;
            }
      }
}
